package com.jstyle.jclifexd.dao;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.jstyle.jclifexd.model.BindDeviceInfo;
import com.jstyle.jclifexd.model.BodyFatData;
import com.jstyle.jclifexd.model.EnableData;
import com.jstyle.jclifexd.model.GpsData;
import com.jstyle.jclifexd.model.HealthData;
import com.jstyle.jclifexd.model.HeartData;
import com.jstyle.jclifexd.model.LastActivityData;
import com.jstyle.jclifexd.model.NotifyData;
import com.jstyle.jclifexd.model.PathRecord;
import com.jstyle.jclifexd.model.PathRecorderror;
import com.jstyle.jclifexd.model.PhoneRecord;
import com.jstyle.jclifexd.model.SleepData;
import com.jstyle.jclifexd.model.StepData;
import com.jstyle.jclifexd.model.StepDataerror;
import com.jstyle.jclifexd.model.StepDetailData;
import com.jstyle.jclifexd.model.TemperatureHistoryData;
import com.jstyle.jclifexd.model.UploadGpsDataError;
import com.jstyle.jclifexd.model.UserInfo;

import com.jstyle.jclifexd.dao.BindDeviceInfoDao;
import com.jstyle.jclifexd.dao.BodyFatDataDao;
import com.jstyle.jclifexd.dao.EnableDataDao;
import com.jstyle.jclifexd.dao.GpsDataDao;
import com.jstyle.jclifexd.dao.HealthDataDao;
import com.jstyle.jclifexd.dao.HeartDataDao;
import com.jstyle.jclifexd.dao.LastActivityDataDao;
import com.jstyle.jclifexd.dao.NotifyDataDao;
import com.jstyle.jclifexd.dao.PathRecordDao;
import com.jstyle.jclifexd.dao.PathRecorderrorDao;
import com.jstyle.jclifexd.dao.PhoneRecordDao;
import com.jstyle.jclifexd.dao.SleepDataDao;
import com.jstyle.jclifexd.dao.StepDataDao;
import com.jstyle.jclifexd.dao.StepDataerrorDao;
import com.jstyle.jclifexd.dao.StepDetailDataDao;
import com.jstyle.jclifexd.dao.TemperatureHistoryDataDao;
import com.jstyle.jclifexd.dao.UploadGpsDataErrorDao;
import com.jstyle.jclifexd.dao.UserInfoDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig bindDeviceInfoDaoConfig;
    private final DaoConfig bodyFatDataDaoConfig;
    private final DaoConfig enableDataDaoConfig;
    private final DaoConfig gpsDataDaoConfig;
    private final DaoConfig healthDataDaoConfig;
    private final DaoConfig heartDataDaoConfig;
    private final DaoConfig lastActivityDataDaoConfig;
    private final DaoConfig notifyDataDaoConfig;
    private final DaoConfig pathRecordDaoConfig;
    private final DaoConfig pathRecorderrorDaoConfig;
    private final DaoConfig phoneRecordDaoConfig;
    private final DaoConfig sleepDataDaoConfig;
    private final DaoConfig stepDataDaoConfig;
    private final DaoConfig stepDataerrorDaoConfig;
    private final DaoConfig stepDetailDataDaoConfig;
    private final DaoConfig temperatureHistoryDataDaoConfig;
    private final DaoConfig uploadGpsDataErrorDaoConfig;
    private final DaoConfig userInfoDaoConfig;

    private final BindDeviceInfoDao bindDeviceInfoDao;
    private final BodyFatDataDao bodyFatDataDao;
    private final EnableDataDao enableDataDao;
    private final GpsDataDao gpsDataDao;
    private final HealthDataDao healthDataDao;
    private final HeartDataDao heartDataDao;
    private final LastActivityDataDao lastActivityDataDao;
    private final NotifyDataDao notifyDataDao;
    private final PathRecordDao pathRecordDao;
    private final PathRecorderrorDao pathRecorderrorDao;
    private final PhoneRecordDao phoneRecordDao;
    private final SleepDataDao sleepDataDao;
    private final StepDataDao stepDataDao;
    private final StepDataerrorDao stepDataerrorDao;
    private final StepDetailDataDao stepDetailDataDao;
    private final TemperatureHistoryDataDao temperatureHistoryDataDao;
    private final UploadGpsDataErrorDao uploadGpsDataErrorDao;
    private final UserInfoDao userInfoDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        bindDeviceInfoDaoConfig = daoConfigMap.get(BindDeviceInfoDao.class).clone();
        bindDeviceInfoDaoConfig.initIdentityScope(type);

        bodyFatDataDaoConfig = daoConfigMap.get(BodyFatDataDao.class).clone();
        bodyFatDataDaoConfig.initIdentityScope(type);

        enableDataDaoConfig = daoConfigMap.get(EnableDataDao.class).clone();
        enableDataDaoConfig.initIdentityScope(type);

        gpsDataDaoConfig = daoConfigMap.get(GpsDataDao.class).clone();
        gpsDataDaoConfig.initIdentityScope(type);

        healthDataDaoConfig = daoConfigMap.get(HealthDataDao.class).clone();
        healthDataDaoConfig.initIdentityScope(type);

        heartDataDaoConfig = daoConfigMap.get(HeartDataDao.class).clone();
        heartDataDaoConfig.initIdentityScope(type);

        lastActivityDataDaoConfig = daoConfigMap.get(LastActivityDataDao.class).clone();
        lastActivityDataDaoConfig.initIdentityScope(type);

        notifyDataDaoConfig = daoConfigMap.get(NotifyDataDao.class).clone();
        notifyDataDaoConfig.initIdentityScope(type);

        pathRecordDaoConfig = daoConfigMap.get(PathRecordDao.class).clone();
        pathRecordDaoConfig.initIdentityScope(type);

        pathRecorderrorDaoConfig = daoConfigMap.get(PathRecorderrorDao.class).clone();
        pathRecorderrorDaoConfig.initIdentityScope(type);

        phoneRecordDaoConfig = daoConfigMap.get(PhoneRecordDao.class).clone();
        phoneRecordDaoConfig.initIdentityScope(type);

        sleepDataDaoConfig = daoConfigMap.get(SleepDataDao.class).clone();
        sleepDataDaoConfig.initIdentityScope(type);

        stepDataDaoConfig = daoConfigMap.get(StepDataDao.class).clone();
        stepDataDaoConfig.initIdentityScope(type);

        stepDataerrorDaoConfig = daoConfigMap.get(StepDataerrorDao.class).clone();
        stepDataerrorDaoConfig.initIdentityScope(type);

        stepDetailDataDaoConfig = daoConfigMap.get(StepDetailDataDao.class).clone();
        stepDetailDataDaoConfig.initIdentityScope(type);

        temperatureHistoryDataDaoConfig = daoConfigMap.get(TemperatureHistoryDataDao.class).clone();
        temperatureHistoryDataDaoConfig.initIdentityScope(type);

        uploadGpsDataErrorDaoConfig = daoConfigMap.get(UploadGpsDataErrorDao.class).clone();
        uploadGpsDataErrorDaoConfig.initIdentityScope(type);

        userInfoDaoConfig = daoConfigMap.get(UserInfoDao.class).clone();
        userInfoDaoConfig.initIdentityScope(type);

        bindDeviceInfoDao = new BindDeviceInfoDao(bindDeviceInfoDaoConfig, this);
        bodyFatDataDao = new BodyFatDataDao(bodyFatDataDaoConfig, this);
        enableDataDao = new EnableDataDao(enableDataDaoConfig, this);
        gpsDataDao = new GpsDataDao(gpsDataDaoConfig, this);
        healthDataDao = new HealthDataDao(healthDataDaoConfig, this);
        heartDataDao = new HeartDataDao(heartDataDaoConfig, this);
        lastActivityDataDao = new LastActivityDataDao(lastActivityDataDaoConfig, this);
        notifyDataDao = new NotifyDataDao(notifyDataDaoConfig, this);
        pathRecordDao = new PathRecordDao(pathRecordDaoConfig, this);
        pathRecorderrorDao = new PathRecorderrorDao(pathRecorderrorDaoConfig, this);
        phoneRecordDao = new PhoneRecordDao(phoneRecordDaoConfig, this);
        sleepDataDao = new SleepDataDao(sleepDataDaoConfig, this);
        stepDataDao = new StepDataDao(stepDataDaoConfig, this);
        stepDataerrorDao = new StepDataerrorDao(stepDataerrorDaoConfig, this);
        stepDetailDataDao = new StepDetailDataDao(stepDetailDataDaoConfig, this);
        temperatureHistoryDataDao = new TemperatureHistoryDataDao(temperatureHistoryDataDaoConfig, this);
        uploadGpsDataErrorDao = new UploadGpsDataErrorDao(uploadGpsDataErrorDaoConfig, this);
        userInfoDao = new UserInfoDao(userInfoDaoConfig, this);

        registerDao(BindDeviceInfo.class, bindDeviceInfoDao);
        registerDao(BodyFatData.class, bodyFatDataDao);
        registerDao(EnableData.class, enableDataDao);
        registerDao(GpsData.class, gpsDataDao);
        registerDao(HealthData.class, healthDataDao);
        registerDao(HeartData.class, heartDataDao);
        registerDao(LastActivityData.class, lastActivityDataDao);
        registerDao(NotifyData.class, notifyDataDao);
        registerDao(PathRecord.class, pathRecordDao);
        registerDao(PathRecorderror.class, pathRecorderrorDao);
        registerDao(PhoneRecord.class, phoneRecordDao);
        registerDao(SleepData.class, sleepDataDao);
        registerDao(StepData.class, stepDataDao);
        registerDao(StepDataerror.class, stepDataerrorDao);
        registerDao(StepDetailData.class, stepDetailDataDao);
        registerDao(TemperatureHistoryData.class, temperatureHistoryDataDao);
        registerDao(UploadGpsDataError.class, uploadGpsDataErrorDao);
        registerDao(UserInfo.class, userInfoDao);
    }
    
    public void clear() {
        bindDeviceInfoDaoConfig.clearIdentityScope();
        bodyFatDataDaoConfig.clearIdentityScope();
        enableDataDaoConfig.clearIdentityScope();
        gpsDataDaoConfig.clearIdentityScope();
        healthDataDaoConfig.clearIdentityScope();
        heartDataDaoConfig.clearIdentityScope();
        lastActivityDataDaoConfig.clearIdentityScope();
        notifyDataDaoConfig.clearIdentityScope();
        pathRecordDaoConfig.clearIdentityScope();
        pathRecorderrorDaoConfig.clearIdentityScope();
        phoneRecordDaoConfig.clearIdentityScope();
        sleepDataDaoConfig.clearIdentityScope();
        stepDataDaoConfig.clearIdentityScope();
        stepDataerrorDaoConfig.clearIdentityScope();
        stepDetailDataDaoConfig.clearIdentityScope();
        temperatureHistoryDataDaoConfig.clearIdentityScope();
        uploadGpsDataErrorDaoConfig.clearIdentityScope();
        userInfoDaoConfig.clearIdentityScope();
    }

    public BindDeviceInfoDao getBindDeviceInfoDao() {
        return bindDeviceInfoDao;
    }

    public BodyFatDataDao getBodyFatDataDao() {
        return bodyFatDataDao;
    }

    public EnableDataDao getEnableDataDao() {
        return enableDataDao;
    }

    public GpsDataDao getGpsDataDao() {
        return gpsDataDao;
    }

    public HealthDataDao getHealthDataDao() {
        return healthDataDao;
    }

    public HeartDataDao getHeartDataDao() {
        return heartDataDao;
    }

    public LastActivityDataDao getLastActivityDataDao() {
        return lastActivityDataDao;
    }

    public NotifyDataDao getNotifyDataDao() {
        return notifyDataDao;
    }

    public PathRecordDao getPathRecordDao() {
        return pathRecordDao;
    }

    public PathRecorderrorDao getPathRecorderrorDao() {
        return pathRecorderrorDao;
    }

    public PhoneRecordDao getPhoneRecordDao() {
        return phoneRecordDao;
    }

    public SleepDataDao getSleepDataDao() {
        return sleepDataDao;
    }

    public StepDataDao getStepDataDao() {
        return stepDataDao;
    }

    public StepDataerrorDao getStepDataerrorDao() {
        return stepDataerrorDao;
    }

    public StepDetailDataDao getStepDetailDataDao() {
        return stepDetailDataDao;
    }

    public TemperatureHistoryDataDao getTemperatureHistoryDataDao() {
        return temperatureHistoryDataDao;
    }

    public UploadGpsDataErrorDao getUploadGpsDataErrorDao() {
        return uploadGpsDataErrorDao;
    }

    public UserInfoDao getUserInfoDao() {
        return userInfoDao;
    }

}
